Currently, a network-based computer system environment is widely used, wherein clients (client devices, client computers and the like) are connected to a server system composed of a server computer and its peripheral devices (hereinafter, simply referred to as a “server”) via a network such as the Internet or the intranet (including in-house LAN). In particular, with the prevalence of the mobile cell phones and personal digital assistants (PDAs), it has become increasingly common to use such instruments as the clients to enable remote control of the server.
FIG. 1 shows a common network-based computer system environment 100 in which a mobile cell phone and a personal digital assistant are used as the clients. As shown in the figure, in the case where a server 102 exists in an intranet 104 that is a local network in an enterprise or organization, a gateway 110 having a firewall 108 for preventing illegal access from the outside is disposed between the intranet and an external network 106 such as the Internet. As such, in order to access the server 102 from clients 112, 114 in an external network environment for the purposes of remote control or the like, it is always necessary to access the gateway 110.
Communication between the gateway and the client such as a mobile cell phone is generally made according to the HTTP (HyperText Transfer Protocol), which means that in order to remotely control the server from the client, it is necessary to know the status of the server by allowing the content of the image displayed on a display of the server as a control target to be displayed on the client side as well. In other words, in order to perform a series of control operations for the remote control, the succeeding control operations need to be performed in accordance with the content of the image displayed on the display of the server that was acquired by the client.
The image displayed on the display of the server, however, cannot be observed by the user on the client side in real time; what can be observed is only the stationary image obtained from the server at that time point. It is often difficult, from only the information of the acquired image, to determine how the image has changed from its previous state.
Further, the mobile cell phone or the personal digital assistant has the display screen of a limited size (that is, the total number of pixels for display is much smaller than that of the display of the server), which means that, if it is tried to display the entire image displayed on the display of the server as a control target on the display screen of a limited size of the mobile cell phone or the like, the image initially expressed using a great number of pixels in the server should be expressed using less pixels, which inevitably results in coarse resolution of the image displayed on the mobile cell phone or the like. For the user observing the image of such coarse resolution displayed on the display screen of the client, it would be very difficult to make accurate judgment of the situation for the succeeding control operation of the server (for example, which portion should be clicked on next).
On the contrary, if it is tried to display an image on the display screen of such a limited size of the client in the same pixel resolution as the one displayed on the display of the server as the control target, only a part of the whole image displayed on the display of the server would be displayed on the display screen of the mobile cell phone or the like, which results in poor prospect of the entire image and, thus, is disadvantageous in terms of user's operability as well as operating efficiency. Furthermore, in this case, particularly when the mobile cell phone or the like has a full browser function, screen scrolling will readily be performed on the display screen of the client if not only the part of the image data but also the image data covering a wide range including its peripheral region is fetched from the server and temporarily stored in an image buffer or the like of the client. In such a case, if the image data for the whole display screen of the server is transferred as the image of the wide range, the amount of data transferred from the server to the client would be huge, which is disadvantageous in terms of communication cost across the network and response speed to the control operation (performance).
There exists a conventional technology for efficiently performing remote control of the server from the client such as a mobile cell phone having a display screen of a small size as described above. Japanese Unexamined Patent Publication (Kokai) No. 2002-111893 discloses an invention of a method for remotely controlling an external computer (i.e., server) in the GUI (Graphical User Interface) environment by a mobile cell phone or other personal digital assistant (i.e., client). Specifically, in response to a control operation from the personal digital assistant, each GUI part displayed on a screen of the external computer is detected, and based on its analysis result, the GUI part is converted into a text or the like so that it can readily be displayed on the personal digital assistant, and the converted data is transmitted to the personal digital assistant to enable remote control of the computer in the GUI environment from the personal digital assistant having a limited display function or the like, with a considerably reduced communication cost therebetween.
This method, however, aims only at implementing remote control of the server in the GUI environment by the client, and the GUI image displayed on the server side is not displayed on the client side exactly in the same form. Further, while it is described that the state of the display screen of the server or its change is detected, it only means that a screen analysis portion and a screen change detection portion obtain information about the name and position of the icon being displayed thereon, from the operating system via the API (Application Programming Interface) or the like. As such, it is not possible to detect a change on screen for an inactive window, or it is not possible even for an active application window to detect in detail how the display therein has changed.